Terraform에서 keypair를 작성하는 방법에 대해 알아보자!
소개
안녕하세요! 클래스메소드 금상원 입니다. 이번 블로그에서는 Terraform에서 keypair를 작성하는 방법에 대해 알아 보겠습니다.
terraform 코드 작성하기
resource "tls_private_key" "test_key" { algorithm = "RSA" rsa_bits = 4096 }
위의 코드에서는 praivate key를 생성하기 위해 작성 되었습니다.
algorithm에서 "RSA" 와 "ECDSA" 중에서 여러분들이 필요하신 것을 선택해서 설정 합니다.
rsa_bits는 위의 algorithm에서 RSA를 설정 했을 경우 RSA 키의 크기(비트)입니다. 기본값은 2048입니다.
algorithm에서 ECDSA를 설정했을 경우 ecdsa_curve의 값을 설정해야 합니다.
resource "aws_key_pair" "test_keypair" { key_name = "test-keypair.pem" public_key = tls_private_key.test_key.public_key_openssh }
위의 코드에서는 AWS에서 keypair를 작성 합니다.
public_key에서 어떤 private key의 public key정보를 등록할 것 인지를 설정 합니다.
resource "local_file" "test_local" { filename = "./keypair/test-keypair.pem" content = tls_private_key.test_key.private_key_pem file_permission = "0600" }
위의 코드는 작성된 private키를 자신의 local환경에 저장 하기 위한 코드 입니다.
filename에서 파일의 이름을 설정 합니다.
content에서 어떤 파일, 파일의 정보등을 대상으로 할 것 인가를 설정 합니다.
file_permission애서 생성된 파일에 어떠한 권한을 줄 것인가를 설정 합니다. (ssh 경우 400 이나 600을 사용)
- 400 : 더이상 편집을 하지 않을 경우
- 600 : 편집하거나 할 가능성이 있는 경우
전체 코드
resource "tls_private_key" "test_key" { algorithm = "RSA" rsa_bits = 4096 } resource "aws_key_pair" "test_keypair" { key_name = "test-keypair.pem" public_key = tls_private_key.test_key.public_key_openssh } resource "local_file" "test_local" { filename = "./keypair/test-keypair.pem" content = tls_private_key.test_key.private_key_pem file_permission = "0600" }
마무리
이번 블로그에서는 Terraform에서 keypair를 작성 하는 방법을 소개 하였습니다. keypair 파일도 terraform에서 작성하여 관리하고 싶은 분들께 조금이라도 도움이 되었으면 좋겠습니다
참고 자료
본 블로그 게시글을 보시고 문의 사항이 있으신 분들은 클래스메소드코리아 (info@classmethod.kr)로 연락 주시면 빠른 시일 내 담당자가 회신 드릴 수 있도록 하겠습니다 !